package com.kgdev.cweb.entities.prod.owned.order;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.Table;

import com.kgdev.cweb.entities.prod.managed.Order;
import com.kgdev.cweb.entities.prod.owned.client.ClientShippingInfo;
import com.kgdev.cweb.entities.pub.ChocolateColor;
import com.kgdev.cweb.entities.pub.ChocolateColorBody;
import com.kgdev.cweb.entities.pub.ChocolateType;
import com.kgdev.cweb.entities.pub.PlatePacking;

/**
 * The persistent class for the palette database table.
 * 
 */
@Entity
@Table(name = "prod_order_attr")
public class OrderAttributes implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@Column(name = "order_id")
	private Integer orderId;

	@OneToOne(optional=false, mappedBy = "orderAttributes")
	private Order order;

	@ManyToOne
	@JoinColumn(name = "logo_color")
	private ChocolateColor logoColor;

	@ManyToOne
	@JoinColumn(name = "chocolate_type_id")
	private ChocolateType chocolateType;

	@ManyToOne
	@JoinColumn(name = "plate_package_id")
	private PlatePacking platePacking;

	@ManyToOne
	@JoinColumn(name = "body_color")
	private ChocolateColorBody bodyColor;

	@ManyToOne
	@JoinColumn(name = "plate_color")
	private ChocolateColor plateColor;

	@ManyToOne
	@JoinColumn(name = "inscription_color")
	private ChocolateColor inscriptionColor;
	
	@ManyToOne
	@JoinColumn(name = "client_shipinf_id")
	private ClientShippingInfo clientShippingInfo;

	public ClientShippingInfo getClientShippingInfo() {
		return clientShippingInfo;
	}

	public void setClientShippingInfo(ClientShippingInfo clientShippingInfo) {
		this.clientShippingInfo = clientShippingInfo;
	}

	@Column(name = "quantity")
	private Integer quantity;

	public OrderAttributes() {
	}

	public ChocolateColorBody getBodyColor() {
		return bodyColor;
	}

	public ChocolateType getChocolateType() {
		return chocolateType;
	}

	public ChocolateColor getInscriptionColor() {
		return inscriptionColor;
	}

	public ChocolateColor getLogoColor() {
		return logoColor;
	}

	public Order getOrder() {
		return order;
	}

	public Integer getOrderId() {
		return orderId;
	}

	public ChocolateColor getPlateColor() {
		return plateColor;
	}

	public PlatePacking getPlatePacking() {
		return platePacking;
	}

	public Integer getQuantity() {
		return quantity;
	}

	public void setBodyColor(ChocolateColorBody bodyColor) {
		this.bodyColor = bodyColor;
	}

	public void setChocolateType(ChocolateType chocolateType) {
		this.chocolateType = chocolateType;
	}

	public void setInscriptionColor(ChocolateColor inscriptionColor) {
		this.inscriptionColor = inscriptionColor;
	}

	public void setLogoColor(ChocolateColor logoColor) {
		this.logoColor = logoColor;
	}

	public void setOrder(Order order) {
		this.order = order;
	}

	public void setOrderId(Integer orderId) {
		this.orderId = orderId;
	}

	public void setPlateColor(ChocolateColor plateColor) {
		this.plateColor = plateColor;
	}

	public void setPlatePacking(PlatePacking platePacking) {
		this.platePacking = platePacking;
	}

	public void setQuantity(Integer quantity) {
		this.quantity = quantity;
	}

}